package UI.administrador;

import gestorBD.Controlador;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import uiMain.bienRaizOk;
import static uiMain.bienRaizOk.ventana;

public class BarraDeMenuAdministrador extends JMenuBar {

    public BarraDeMenuAdministrador() {
        super();

        //----------Se crea la opcion archivo-------------------------------------------
        JMenu menuArchivo = new JMenu("Archivo");
        this.add(menuArchivo);

        //Se crea la sub-opción "Ver información del usuario"
        JMenuItem verInfoUsuario = new JMenuItem("Ver información del usuario");
        Icon iconoUsuario = new ImageIcon(bienRaizOk.class.getResource("../resources/usuario.png"));
        verInfoUsuario.setIcon(iconoUsuario);
        menuArchivo.add(verInfoUsuario);

        //Se crea la sub-opción "Cerrar sesión"
        JMenuItem cerrarSesion = new JMenuItem("Cerrar sesión");
        Icon iconoCerrarSesion = new ImageIcon(bienRaizOk.class.getResource("../resources/cerrarSesion.png"));
        cerrarSesion.setIcon(iconoCerrarSesion);
        menuArchivo.add(cerrarSesion);

        //Se crea la sub-opción "Salir"
        JMenuItem salir = new JMenuItem("Salir");
        Icon iconoSalir = new ImageIcon(bienRaizOk.class.getResource("../resources/salir.png"));
        salir.setIcon(iconoSalir);
        menuArchivo.add(salir);

        //----------Finaliza creación de opcion archivo--------------------------------
        
        JMenu menuEditar = new JMenu("Editar");
        this.add(menuEditar);
        JMenuItem opcionNoSoportada = new JMenuItem("No soportado en esta versión");
        opcionNoSoportada.setEnabled(false);
        menuEditar.add(opcionNoSoportada);
        
        //----------Creacion de opción ver---------------------------------------------
        JMenu menuVer = new JMenu("Ver");
        this.add(menuVer);
        JMenuItem volverAPantallaDeAdministrador = new JMenuItem("Todas mis opciones");
        Icon iconoVerMisOpciones = new ImageIcon(bienRaizOk.class.getResource("../resources/verTodasMisOpciones.png"));
        volverAPantallaDeAdministrador.setIcon(iconoVerMisOpciones);
        menuVer.add(volverAPantallaDeAdministrador);
        //----------Finaliza creacion de opción ver---------------------------------------------

        

        JMenu menuBienRaizOk = new JMenu("BienRaizOk");
        JMenuItem verInfoDeLaEmpresa = new JMenuItem("Ver información de la empresa");
        Icon iconoVerInfoEmpresa = new ImageIcon(bienRaizOk.class.getResource("../resources/logo16.png"));
        verInfoDeLaEmpresa.setIcon(iconoVerInfoEmpresa);
        menuBienRaizOk.add(verInfoDeLaEmpresa);
        this.add(menuBienRaizOk);

        //----------Creación de opción ayuda-------------------------------------------
        JMenu menuAyuda = new JMenu("Ayuda");
        this.add(menuAyuda);

        JMenuItem acercaDe = new JMenuItem("Acerca de");
        Icon iconoAcercaDe = new ImageIcon(bienRaizOk.class.getResource("../resources/acercaDe.png"));
        acercaDe.setIcon(iconoAcercaDe);
        menuAyuda.add(acercaDe);
        //-----------Finaliza creación de opción ayuda

        //Se añaden las funcionalidades
        verInfoUsuario.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                Icon iconoVerInfoEmpresa = new ImageIcon(bienRaizOk.class.getResource("../resources/logo32.png"));
                String textoPopUp = "El usuario actual es el siguiente:\n\n" + Controlador.obtenerInformacionDelUsuario();
                JOptionPane.showMessageDialog(null, textoPopUp, "Información del usuario", JOptionPane.INFORMATION_MESSAGE);
            }

        });

        cerrarSesion.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent ae) {
                Controlador.limpiarCookie();
                ventana.mostrarPantallaParaCerrarSesion();
            }

        });

        salir.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent ae) {
                String ObjButtons[] = {"Sí", "No", "Cancelar"};
                int PromptResult = JOptionPane.showOptionDialog(null, "¿Desea guardar los cambios en el XML antes de salir?", "Guardar cambios", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.WARNING_MESSAGE, null, ObjButtons, ObjButtons[1]);
                if (PromptResult == JOptionPane.YES_OPTION) {
                    Controlador.guardarXML();
                    System.out.println("XML actualizado correctamente");
                    System.exit(0);
                } else if (PromptResult == JOptionPane.NO_OPTION) {
                    System.exit(0);
                } else if (PromptResult == JOptionPane.CANCEL_OPTION) {
                    //No hacer nada
                }
            }
        });
        
        volverAPantallaDeAdministrador.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent ae) {
               ventana.mostrarPanelOpcionesDeAdministrador();
            }
            
        });

        opcionNoSoportada.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent ae) {
                ventana.mostrarPanelOpcionesDeAdministrador();
            }
        });

        verInfoDeLaEmpresa.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                String textoPopUp = "Bien Raíz OK es una compañía sólida y confiable con un amplio conocimiento del sector inmobiliario,\n"
                        + "una tradición de más de 34 años en el campo de los bienes raíces, una experiencia representada en obras y \n"
                        + "resultados, así como una clara orientación para adaptarnos a los cambios del mercado y los requerimientos de \n"
                        + "los clientes, nos convierten en una empresa confiable, responsable, sería, íntegra y sólida financieramente\n\n"
                        + "Dirección: Cl 67 Sur #21-157 Barrio Siempre Alegre\n"
                        + "                    Medellín, Antioquia, Colombia\n"
                        + "Teléfono:  285 47 15";
                Icon iconoVerInfoEmpresa = new ImageIcon(bienRaizOk.class.getResource("../resources/logo32.png"));
                JOptionPane.showMessageDialog(null, textoPopUp, "Información de la empresa", JOptionPane.INFORMATION_MESSAGE, iconoVerInfoEmpresa);
            }

        });

        acercaDe.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                String textoPopUp = "Grupo #4 - Programación orientada a objetos\n\n"
                        + "Integrantes del equipo:\n"
                        + "Yennifer Marcela Tobón Yate\n"
                        + "Juan Diego Merino Roldán\n"
                        + "Nicolás Henao Arango\n"
                        + "Simón Palacio Zapata\n\n"
                        + "Universidad Nacional de Colombia\n"
                        + "Sede Medellín, Facultad de Minas\n";
                JOptionPane.showMessageDialog(null, textoPopUp, "Acerca del programa", JOptionPane.INFORMATION_MESSAGE);
            }

        });

        //------------Finaliza creación de barra de menú
    }
}
